/*
 * @Author: Sa 
 * @Date: 2018-09-23 14:11:18 
 * @Last Modified by: HuaShengA
 * @Last Modified time: 2018-09-25 23:10:56
 */

 class RulesUtil{

    validate(value ,type){
        //非空验证
        if(type === 'require'){
            return !! value
        }
        
        /**
         * 用户名的校验
         * 校验通过返回空的字符，如果校验不用返回错误提示信息
         */
        if(type === 'username'){
          let result = ''
          if(value){
            const rsultRegex = /^([A-Za-z0-9_])*$/.test(value) //用户名格式的正则匹配(用户名只能有字母、数字和下划线组成)
            if(rsultRegex){
              const length = value.length
              if(!(length >= 3 && length <=15)){
                result = '用户名的长度在3~15个字符'
              }
            }else{
              result = '用户名只能有字母、数字、下划线组成'
            }
          }else{
            result = '输入的用户名不能为空'
          }
          return result
        }

        /**
         * 手机号验证
         * 
         */
        if(type === 'phone'){
          let result = ''
          if(value){
            const regexResult = /^1\d{10}$/.test(value)
            if(!regexResult){
              result = '输入的手机号格式不正确'
            }
          }else{
            result = '输入的手机号不能为空'
          }
            return result
        }

        /**
         * 邮箱格式验证
         * 校验通过返回空的字符，如果校验不用返回错误提示信息
         */
        if(type === 'email'){
          let result = ''
          if(value){
            const regexResult = /^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/.test(value)
            if(!regexResult){
              result = '输入的邮箱格式不正确'
            }
          }else{
            result = '输入的邮箱不能为空'
          }
            return result;
        }

        /**
         * 用户登录注册的密码的校验
         */
        if(type === 'password'){
          let result = ''
          if(value){
            const length = value.length
            if(!(length >= 3 && length <=20)){
              result = '密码的长度在3~20个字符'
            }
          }else{
            result = '输入的密码不能为空'
          }
          return result
        }

        
    }
 }
export default RulesUtil